hysop.backend.device.codegen.base.codegen module

class hysop.backend.device.codegen.base.codegen.CodeGenerator(name, typegen, ext='.tmp', known_vars=None, initial_indent_level=0, escape_seqs=None, keywords=None, **kargs)[source]

Bases: object

class AlignBlock(sep='$')[source]

Bases: object

append(lines)[source]
code()[source]
jumpline(count=1)[source]
class VarBlock[source]

Bases: object

code()[source]
decl_var(_type, _varnames, _inits=None, comment=None, cv_qualifier=None)[source]
align(*args)[source]
append(code, newline=True)[source]
block_exists(name)[source]
check_block_exists(name)[source]
comment(comments, simple=False, force_spacing=True, align=True, upperband=False, lowerband=False, prepend=False)[source]
current_indent()[source]
decl_aligned_vars(*variables, **kargs)[source]
decl_vars(*variables, **kargs)[source]
declare_codeblocks(names, initial_code=None, priorities=None, comments=None)[source]
declare_prototype(prototype_declaration, category='default')[source]
dedent(count=1)[source]
default_block_priorities = {'enum_definitions': -1000, 'function_declarations': -200, 'function_prototypes': -700, 'global_scope_constants': -300, 'kernel_declarations': -100, 'kernel_prototypes': -600, 'pragma_extensions': -10000, 'struct_declarations': -400, 'struct_prototypes': -800, 'union_declarations': -500, 'union_prototypes': -900}
default_escape_seqs = {'\t': '    ', '\n': '\n', ' ': ' '}
default_keywords = {'inline': 'inline'}
define(what, prepend=True)[source]
edit(editor=None, filepath=None, modified=False)[source]
empty()[source]
generate(blocks, genset)[source]
include(*args)[source]
indent(count=1)[source]
init_blocks()[source]
inject_vars(new_vars)[source]
jumpline(count=1)[source]
newl()[source]
override_block_priorities(**kargs)[source]
pragma(what)[source]
prepend(code)[source]
register_default_codeblock(name='default', priority=1000, comment=None)[source]
require(name, codegen)[source]
reset()[source]
space()[source]
supress_newline()[source]
tab()[source]
to_file(folder, filename)[source]
update_requirements(reqs)[source]
update_vars(new_vars=None, **kargs)[source]